Scroll to navigation

ACCT(2) Podręcznik programisty Linuksa ACCT(2)

NAZWA

acct - włączenie/wyłączenie ewidencjonowania procesów

SKŁADNIA

#include <unistd.h>

int acct(const char *filename);

DESCRIPTION

Funkcja wywołana z nazwą istniejącego pliku jako parametrem, włącza ewidencjonowanie procesów i powoduje dopisywanie do pliku filename informacji o każdym zakończonym procesie. Argument NULL powoduje wyłączenie ewidencjonowania procesów.

WARTOŚĆ ZWRACANA

Po pomyślnym zakończeniu zwracane jest 0, w razie błędu zwracane jest -1 i odpowiednio ustawiane errno.

BŁĘDY

Brak prawa do zapisu do podanego pliku.
Parametr filename nie jest zwykłym plikiem.
filename wskazuje poza dostępną dla użytkownika przestrzeń adresową.
Błąd zapisu do pliku filename.
filename jest katalogiem.
Podczas rozwiązywania filename napotkano zbyt wiele dowiązań symbolicznych.
Nazwa filename jest za długa.
Podany plik nie istnieje.
Brak pamięci.
Rozlicznie procesów nie zostało włączone w czasie kompilacji jądra systemu. Odpowiednim parametrem jądra ustawiającym tę opcję jest CONFIG_BSD_PROCESS_ACCT.
Składnik filename, który powinien być katalogiem, w rzeczywistości nim nie jest.
Proces wywołujący tę funkcję ma niewystarczające uprawnienia do włączenia ewidencjonowania procesów.
Plik filename znajduje się w systemie plików tylko do zapisu.
Brak wolnych struktur plikowych w jądrze lub brak pamięci.

ZGODNE Z

SVr4 (ale nie POSIX). SVr4 dokumentuje błądy EBUSY, ale nie EISDIR czy ENOSYS. AIX i HPUX również dokumentują EBUSY (próba włączenia ewidencjonowania, podczas gdy jest ono już włączone). Dotyczy to również Solarisa (próba włączenia ewidencjonowania z wykorzystaniem pliku, który jest już używany).

UWAGI

W wypadku załamania się systemu, informacje ewidencjonowania procesów nie będą dodane, nie zakończone procesy nigdy nie będą zaewidencjonowane.

1998-11-04 Linux 2.1.126